home *** CD-ROM | disk | FTP | other *** search
/ Ultimate CD / Ultimate_CD_by_SomeGuy.iso / New emulatorstuff / Super Nintendo ultimate collection / READMEW.TXT < prev    next >
Text File  |  2002-06-23  |  21KB  |  518 lines

  1.  
  2.                                  ZSNES
  3.                     by zsKnight, _Demo_, and pagefault
  4.              with help from Pharos, Teuf, theoddone33 and stainless
  5.                          http://www.zsnes.com
  6.  
  7.  
  8. ZSNES is a Super Nintendo Entertainment System emulator written mostly
  9. in assembler.
  10.  
  11. We would really like to thank the snes9x team for all their help and
  12. also for an excellent snes emulator.  We also wish them the very best
  13. of luck!
  14.  
  15. ---------------------------------------------------------------------------
  16. Table of Contents
  17. ---------------------------------------------------------------------------
  18.  
  19. 1.) What's New
  20. 2.) Disclaimer
  21. 3.) System Requirements
  22. 4.) Things you should know about ZSNES (Updated v1.00)
  23. 5.) Current Progress
  24. 6.) Future Progress
  25. 7.) ZSNES Default Keys
  26. 8.) Extra Pop-Up Menu (F1 Menu)
  27. 9.) Configuration File (ZSNES.CFG)
  28. 10.) Cheat Codes
  29. 11.) Extra Features (SNES Mouse/Super Scope/SuperFX/DSP1/MultiTap/IPS)
  30. 12.) Bugs Section
  31. 13.) Contact Information
  32. 14.) The Debugger
  33. 15.) Error Codes
  34. 16.) Credits
  35.  
  36. ---------------------------------------------------------------------------
  37. 1.) What's New
  38. ---------------------------------------------------------------------------
  39.  
  40. See WHATSNEW.TXT
  41.  
  42. ---------------------------------------------------------------------------
  43. 2.) Disclaimer
  44. ---------------------------------------------------------------------------
  45.  
  46. zsKnight, _Demo_, and Pharos are not responsible for any damages caused
  47. by the use of this software.  This software also must not be distributed
  48. with ROMs.
  49.  
  50. ---------------------------------------------------------------------------
  51. 3.) System Requirements
  52. ---------------------------------------------------------------------------
  53.  
  54. - Fast Pentium processor strongly recommended
  55. - 32MB of RAM
  56. - Windows 95/98/ME/2000 or compatible
  57. - DirectX 8.0 or higher
  58.  
  59. Recommended System for SFX support :
  60.  
  61. - Fast Pentium processor (P200 - P2-300 (depending on the game))
  62. - 32MB of RAM
  63. - Windows 95/98/ME/2000 or compatible
  64. - DirectX 8.0 or higher
  65.  
  66. Recommended System for SA-1 support : (Mario RPG)
  67.  
  68. - Fast Pentium processor (P200 or higher)
  69. - 32MB of RAM
  70. - Windows 95/98/ME/2000 or compatible
  71. - DirectX 8.0 or higher
  72.  
  73. Requirements for netplay:
  74.  
  75. - WinSock 2.2 (Included with most Windows versions, or from
  76.   http://www.microsoft.com/windows95/downloads/ )
  77.  
  78. Please note that while 32 MB is a recommendation for minimum RAM,
  79. additional RAM may be beneficial, especially for 40 or 48 megabit
  80. ROMS, or games that require decompression packs.
  81.  
  82. *An FPU is required for DSP1 emulation
  83. *You can download directx at www.microsoft.com/directx/
  84.  
  85. ---------------------------------------------------------------------------
  86. 4.) Things you should know about ZSNES
  87. ---------------------------------------------------------------------------
  88.  
  89. - You can use both keyboard and joystick for player 1 or 2 with some
  90.   configuration adjustments.  Refer to zsnes.faq for details
  91. - Several special chip emulation routines (SA-1) have unknown bugs to
  92.   them
  93. - SuperFX can be slow because it is an extra 10/20mhz cpu that has to be
  94.     emulated as well as the snes emulation
  95. - Screen Snapshot, Snapshot Format, and FPS counter are available through a menu by pressing
  96.     F1 during emulation
  97. - Screen Snapshot currently saves as Image.BMP (65536 colors). Also, a PNG
  98.     mode is available that saves in 32 bit ARGB color, as
  99.     <rom name> <date> <time>.png
  100. - FPS counter currently only works when auto frame rate is on.
  101. - To use the cheat function, be sure to have the ROM which you want to
  102.     patch loaded already.
  103. - If the cheat codes do not work, chances are that you are using a different
  104.     version of the rom that was originally used to create them or the codes
  105.     are converted incorrectly from other code formats.
  106. - There are still many bugs left in ZSNES so don't expect it to run all
  107.     your favorite games.
  108. - SNES Mouse support is still missing some features such as speed settings
  109. - Pressing the Fast Forward key is equivalent to running ZSNES using -f 9
  110. - If ZSNES doesn't work for you, then don't use it.  Use SNES9X, NLKE,
  111.     SNEESE, or SNEMUL instead!  In fact, even if you use ZSNES,
  112.     use those emulators too!
  113.  
  114. ---------------------------------------------------------------------------
  115. 5.) Current Progress
  116. ---------------------------------------------------------------------------
  117.  
  118. The following are implemented :
  119. - complete 65816 instruction set
  120. - SRAM support
  121. - LoROM and HiROM support
  122. - SlowROM and FastROM support
  123. - Full DMA support
  124. - HIRQ/VIRQ/NMI Interrupts
  125. - Support for most snes file formats
  126. - Multi file format support (.1,.2,.3,A.,B.,C.)
  127. - Interleaved format support
  128. - PAL/NTSC timing support
  129.  
  130. The following are implemented in the new graphics engine 8 bit :
  131. - Combination of line by line and tile based graphics engine
  132. - Graphic Modes 0,1,2,3,4,5,6,7
  133. - 8x8, 16x16, 32x32 and 64x64 sprite support (flipped in all directions)
  134. - 8x8 and 16x16 tiles
  135. - 32x32,64x32,32x64,64x64 tile modes
  136. - Full HDMA effects for wavy backgrounds, interesting mode 7 effects, etc.
  137. - Mode 7 rotating and scaling effects
  138. - BG priorities
  139. - Sprite Priorities
  140. - Add/sub of back area
  141. - Mosaic Effects
  142. - Offset per tile mode (mode 2/vertical only, Mode 4)
  143. - High res 512 resolution and 448/478 vertical resolution
  144. - Windowing effects
  145. - High res Mode 7 (only in 640x480x256 video mode/disable Eagle/Scanlines)
  146.  
  147. The following are implemented in the old graphics engine :
  148. - Line by line based graphics engine
  149. - Graphic Modes 0,1,2,3,4,5,6,7
  150. - 8x8, 16x16, 32x32 and 64x64 sprite support (flipped in all directions)
  151. - Mosaic effects
  152. - 8x8 and 16x16 tiles
  153. - 32x32,64x32,32x64,64x64 tile modes
  154. - Full HDMA effects for wavy backgrounds, interesting mode 7 effects, etc.
  155. - Mode 7 rotating and scaling effects
  156. - Single and Dual Windowing Routines
  157. - BG priorities
  158. - Sprite Priorities
  159. - Add/sub of back area
  160. - 16-bit graphics support
  161. - offset per tile mode (mode 2/vertical only)
  162. - High res 512 horizontal resolution (missing in 16x16)
  163.  
  164. Following are present in 16-bit graphics mode :
  165.  
  166. - Palette changing in the middle of a screen
  167. - Screen Addition (full and half)
  168. - Screen Subtraction (full)
  169. - Fixed Color Addition/Subtraction
  170. - Window clipping for Fixed Color
  171.  
  172. The following are implemented in the new graphics engine 16 bit :
  173. - All of old graphics engine 16bit
  174. - Combination of line by line and tile based graphics engine
  175. - High resolution mode 7
  176. - High resolution 16x16 tiles for mode 5
  177. - full 15bit color transparencies (instead of the previous 13bit speed
  178.   hack) for improved picture quality (MMX compatible CPUs only)
  179.  
  180. The following are present in sound :
  181.  
  182. - 16bit digital stereo sound
  183. - SPC700 Sound CPU
  184. - DSP Sound Processor
  185.      - Echo Effects
  186.      - FIR Filter
  187.      - ADSR volume effects
  188.      - GAIN volume effects
  189.      - Noise effects
  190.      - Pitch Modulation
  191.  
  192. The following are extra features emulated :
  193.  
  194. - Super NES Mouse Support
  195. - Super NES Super Scope Support
  196. - SuperFX support (Still has a bug or 2 left)
  197. - MultiTap (Multiplayer 5) support (4 players on a single computer, 5 players
  198.                                     remote (ipx/modem))
  199. - DSP1 emulation (incomplete)
  200. - SA-1 emulation (not complete)
  201. - OBC1 emulation (still may have bugs)
  202. - S-DD1 emulation (through decompression packs)
  203. - SPC7110 emulation (also via decompression packs)
  204.  
  205. The following are the features present in ZSNES :
  206.  
  207. - Game State Save (F2=Save, F3=Select, F4=Load).
  208.     Warning : A state file takes 260 kbytes of HD space!
  209. - Auto frame rate to give you constant Super Nintendo speed up to 9
  210.     frame skips
  211. - configuration file support (ZSNES.CFG)
  212. - 2 player support w/ Joystick and Gamepad support
  213.  
  214. The following features are missing :
  215.  
  216. - Pseudo 512 snes horizontal resolution
  217.   (Haven't seen any game that uses them yet)
  218. - Some modes in Offset Per Tile Mode
  219. - Some Direct Color Modes (Haven't seen any game that uses them yet)
  220. - True SPC7110/S-DD1 decompression
  221.  
  222. What will not run (or not play properly) :
  223.  
  224. - Some Super FX games such as Dirt Trax FX or Winter Gold (causes instability)
  225. - Games with unknown co-processors
  226. - Games with other special chips such Street Fighter Alpha 2, Momotarou's
  227.   Happy Train that do not yet have decompression packs. (S-DD1/SPC7110)
  228. - Games which doesn't have a valid header
  229. - Games that hit a severe bug in the 65816/PPU/SPC700/DSP routines
  230. - Games that require special timing
  231. - Games that use functions not yet supported by the DSP-1, or that
  232.   use other flavors of the DSP chip (ex. Top Gear 3000)
  233.  
  234. ---------------------------------------------------------------------------
  235. 6.) Future Progress
  236. ---------------------------------------------------------------------------
  237.  
  238. This section is removed
  239.  
  240. ---------------------------------------------------------------------------
  241. 7.) ZSNES Default Keys
  242. ---------------------------------------------------------------------------
  243.  
  244. Here are the default keys while running the emulator.  They can be changed
  245. through the GUI except for F1 and ESC :
  246.  
  247. Disable Backgrounds 1,2,3,4  = 1,2,3,4
  248. Disable Sprites              = 5
  249. Panic Key (enable all)       = 6
  250. Enable SNES Mouse/SuperScope = 7
  251. Enable New Graphics Engine   = 8
  252. Disable Windowing            = 9
  253. Disable OffsetMode           = 0
  254. Fast Forward Key             = ~
  255. PopUp Extra Menu             = F1
  256. Save State                   = F2
  257. Switch State                 = F3
  258. Load State                   = F4
  259. Disable Sound Channel        = F5 - F12
  260. Quit                         = ESC
  261.  
  262. Here are the default keys for the game play (unless modified through the GUI):
  263.  
  264. Player 1 :
  265.  
  266. Up,Down,Left,Right : Cursor Keys
  267. A,B,X,Y            : X,Z,S,A
  268. L,R                : D,C
  269. Start, Select      : Enter, RShift
  270.  
  271. ---------------------------------------------------------------------------
  272. 8.) Extra Pop-Up Menu (F1 Menu)
  273. ---------------------------------------------------------------------------
  274.  
  275. Save Snapshot - Saves a snapshot as either .PCX (8-bit color) or .BMP
  276.                 (16-bit color)
  277.  
  278. Show/Hide FPS - Shows or hides the frame per second display which appears
  279.                 on the bottom-left corner of the screen.  This can only
  280.                 be enabled in auto-frame rate mode.
  281.  
  282. Save SPC Data - Selecting this will search for the beginning of the next
  283.                 song and save the data into a .spc file which saves it
  284.                 similarly as a .srm file.  To capture a song, it is best
  285.                 recommended to initiate this feature approx 2 seconds
  286.                 before the next song starts.  This does have potential to
  287.                 fail though so don't expect it to work all the time.
  288.                 Also, this feature doesn't work in the new gfx engine.
  289.  
  290. Sound Buffer Dump - This dumps the sound buffer in zsnes and also filters
  291.                 out any unoccupied space.  The sound buffer contains
  292.                 decompressed samples which are written to when zsnes
  293.                 plays/decodes a sample from sound memory. Because of the
  294.                 way zsnes buffers the sound data, this can produce
  295.                 inaccurate results.
  296.  
  297. Snapshot/Increment Frame - Same as snapshot, but it returns to the F1 menu
  298.                 after a couple frames.  Useful for making animations.
  299.  
  300. Screen Shot Format - chooses what format to use for screen shots. Choices
  301.                 are BMP (bitmap) and PNG (Portable Network Graphic)
  302.  
  303. ---------------------------------------------------------------------------
  304. 9.) Configuration File (ZSNESW.CFG)
  305. ---------------------------------------------------------------------------
  306.  
  307. Almost everything in zsnesw.cfg should now be editable through the gui
  308. The exception is the temp folder, which is needed to use games from a
  309. read-only medium.
  310.  
  311. ---------------------------------------------------------------------------
  312. 10.) Cheat Codes
  313. ---------------------------------------------------------------------------
  314.  
  315. Currently, ZSNES supports Game Genie, Pro Action Replay and GoldFinger codes
  316.  
  317. Here are the steps to get the codes working :
  318.  
  319. 1.) Load the ROM which you want to patch
  320. 2.) Exit to the GUI, enter the code of your choice in the cheat menu
  321. 3.) After that, you may have to RESET the game to get the cheat code to
  322.       work.  Sometimes, it is not necessary.  You also may have to click
  323.       on the FIX button.
  324.  
  325. NOTE : Some cheat codes are meant to be for different versions of the game.
  326.        If a cheat code doesn't work and there is one for both Game Genie
  327.          and Pro Action Replay, try them both.
  328.  
  329. ---------------------------------------------------------------------------
  330. 11.) Extra Features (SNES Mouse/Super Scope/SuperFX/DSP1/MultiTap)
  331. ---------------------------------------------------------------------------
  332.  
  333. To Enable SNES Mouse, Press 7 once for 1st player and twice for 2nd player
  334. To Enable SNES Super Scope, Press 7 three times
  335. To disable either one, either press 6 or press 7 until you see a disable
  336.    message onscreen.
  337.  
  338. Here are the controls for the Super Scope :
  339.  
  340.   Fire = Left Mouse button
  341.   Cursor Mode Button = Right Mouse button
  342.   Pause = Backspace Key on keyboard
  343.   Enable/Disable Autofire = =/+ key on keyboard, should be located to the
  344.                        left of the backspace key
  345.  
  346. Zsnes auto-detects the SFX emulation from the header and enables it when
  347.    found.  Also, take note that the SFX is an additional 10Mhz(Ver1) or
  348.    20Mhz(Ver2) chip which also has to be emulated with the snes and will
  349.    most likely produce a very noticeable slow down in emulation if you
  350.    don't have a fast computer.
  351.  
  352. Sometimes, the Multitap isn't compatible with some games.  If that happens,
  353.    disable Multitap by setting Player3,4, and 5's input device to 'None' in
  354.    the GUI
  355.  
  356. IPS patcher :
  357.    Rename your .IPS file to the rom filename with the .IPS extension
  358.    (eg. If your rom is SD3.SMC and your ips is SD3V05.IPS, rename SD3V05.IPS
  359.         to SD3.IPS)
  360.    and ZSNES will patch the rom realtime without modifying the rom file's
  361.    contents. Zipped roms are patched according to the unzipped name.
  362.    (eg. Seiken3.zip containing SD3.smc is patched by SD3.ips, not Seiken3.ips)
  363.    
  364. ---------------------------------------------------------------------------
  365. 12.) Bugs Section
  366. ---------------------------------------------------------------------------
  367.  
  368. - 65816 lacks correct timing.  Although ZSNES bases the timing on a
  369.   variable cycle/instruction, it does not deduct correct values such
  370.   as 16bit instructions should deduct 1 more cycle than 8bit instructions.
  371.   100% cycles of zsnes isn't 100% cycles of a snes because of that.
  372.   This means that a lot of games either won't run or will produce horrible
  373.   displays.  Sometimes adjusting the % of execution can fix those problems.
  374.   This is due to inaccurate documentation used when the 65816 was written.
  375.   There is no plans on re-writing the 65816 timing yet.
  376. - Games sometimes tend to not display things properly because of graphic
  377.   features that aren't implemented yet
  378. - The Sound DSP chip still has its bugs (not many though). Most noticeably,
  379.   no one knows the exact timing of the SPC700 chip.
  380.  
  381. ---------------------------------------------------------------------------
  382. 13.) Contact Information
  383. ---------------------------------------------------------------------------
  384.  
  385. The ZSNES homepage is located at : http://www.zsnes.com
  386.  
  387. If you have any questions about zsnes and you have read ZSNES.FAQ,
  388. README.TXT, and GUINOTES.TXT to make sure the answer isn't there.
  389. And your question is NOT a ROM Request or asking about a newer
  390. version, you can post your question at the zsnes www board located at :
  391.  
  392. http://www.zsnes.com/board/
  393.  
  394. Remember : This board should be mainly used for zsnes related questions.
  395. ROM requests (or asking for games, a link to a rom site, or where to
  396. find them) are forbidden!!!  Be sure to also read the RULES!
  397. The rules are located at the top of the page.
  398.  
  399. If you wish to contact the authors, you may contact them through :
  400. (Remember - No ROM requests please! and don't send any files without
  401.  permission!)
  402.  
  403. midnight@umich.edu (Tech Support guy)
  404. zsknight@zsnes.com (Main Coder)
  405. _demo_@zsnes.com (Main Coder)
  406. pagefault@users.sourceforge.net (Assistant Coder, Windows Port Developer)
  407. pharos@zsnes.com (Assistant Coder)
  408.  
  409. Try not to send a copy of your e-mail to all of us since that will just
  410.   waste our time.  Also, don't expect to get a reply since we are often
  411.   busy.
  412.  
  413.  
  414. ---------------------------------------------------------------------------
  415. 14.) The Debugger
  416. ---------------------------------------------------------------------------
  417.  
  418. Note : The debugger is disabled when you don't enter zsnes with a -d
  419.  
  420. Here are the keys:
  421.  
  422. 1 : Enable/Disable spc700 display
  423. 2 : Enable/Disable 65816 display
  424. T : Trace (in 65816 opcodes)
  425. B : 65816 break point
  426. S : SPC break point
  427. C : Clear Counter
  428. M : 65816 modify
  429. A : SPC modify
  430. D : Debug Dump (SPC/DSPRam Dump Only)
  431. W : Break at signal (Used only by the programmers)
  432. F1 : Exit debugger and return to Game
  433. F2 : Save State
  434. F4 : Load State
  435. ESC : Exit entire program
  436.  
  437. ---------------------------------------------------------------------------
  438. 15.) Error Codes
  439. ---------------------------------------------------------------------------
  440.  
  441. -blank-
  442.  
  443. ---------------------------------------------------------------------------
  444. 16.) Credits
  445. ---------------------------------------------------------------------------
  446.  
  447. ZSNES uses NASM, DJGPP, WDOSX, and CWSDPMI (source codes & binary updates
  448.       located at http://www.dbit.com/pub/cwsdpmi ) as the compilers and dos
  449.       extenders.  Thanks to those who produced these fine programs!
  450.  
  451. ZSNESW uses Visual C++ 6, NASM .98, DirectX 8, GNU Make, and UPX to compile,
  452.       link, compress, and execute. Thanks for the work put into these programs.
  453.  
  454. Special thanks to wnelson!  Without him, ZSNES would have never existed!
  455. Also to Y0SHi for his excellent snes docs, his help, and his excellent
  456.         support!
  457.  
  458. Also Thanks to :
  459.   The_Teach of snes9x for some great info and the nice chats!
  460.   Trepalium of snes9x for some great info and help!
  461.   Gary of Snes9x and Steve Snake of KGen for being the source of info for
  462.       sound decompression!
  463.   Gary of Snes9x for being the source of info for TCall/PCall and also
  464.       for lots of help!
  465.   MrGrim for his great support!
  466.   Crono for info on Sound Blaster Programming, Surround Sound, Sound
  467.     Interpolation, and other sound stuff!
  468.   Aquis for the zsnes logo!
  469.   Alucard for helping us with an issue in the 65816!
  470.   Vertigo for making a compatibility list!
  471.   EFX for being a great supporter and also giving a lot of help and stuff!
  472.   Zophar for being a great supporter and also maintaining the mirror site!
  473.   Chris Hickman for redesigning the ZSNES web page!
  474.   CSoft for hosting our web page! (www.csoft.net)
  475.   Marius Fodor for the code for VSync, Sidewinder, Gamepad Pro, and some
  476.     optimisation info!
  477.   Sardu for some great info and help!
  478.   Lord Esnes for some great help!
  479.   Robert Grubbs for the sidewinder info!
  480.   Nerlaska for some useful info on optimising and also for some help!
  481.   Diskdude for writing sneskart which we used for the info on cheat codes!
  482.   DarkForce for some great help!
  483.   Pharos for some keyboard coding help!
  484.   Ivar and Gary of the snes9x team for all the great help which includes
  485.     their superfx info and code, DSP1 info, info on interleave formats
  486.     (hirom & superfx), offset per tile mode, FIR filter, some spc700
  487.     and hdma bugs!
  488.   WolfWings ShadowFlight for help on several issues of nasm!
  489.   Wildfire for some help!
  490.   A CoolMan for the algorithm for EAGLE!
  491.   X-Sykodad and darklore for maintaining the ZSNES www board!
  492.   Neill Corlett for some info on the .IPS format and also helping out
  493.     a lot on improving the sound engine!
  494.   Kreed (derek-liauw@usa.net) for the 2xSaI and Super Eagle Source Codes!
  495.     2xSaI homepage: http://members.xoom.com/derek_liauw/index.html
  496.   Markus Oberhumer & Laszlo Molnar for the UPX compression utility
  497.     UPX homepage: http://cdata.tvnet.hu/~ml/upx.html
  498.   Jean-loup Gailly, Mark Adler, and Gilles Vollant for the unzip routines!
  499.   Kode54 for the low pass filter routines!
  500.   Andy Goth for some help on the design of the key combination engine!
  501.   Yamaha of XYZZ (Scott Scriven) for his water effect code
  502.     Yamaha's homepage: http://www.VIS.colostate.edu/~scriven/)
  503.   All those people who helped us by either sending us docs,
  504.     helping us, supporting us, and reporting bugs!
  505.   Special Thanks to : Ashley, Barubary, CyberWarriorX, DCX, DooMStalK,
  506.     Fanwen, GreenImp, Hucard, Kaiden, PolestaR, Stalphos Knight, Star Creator,
  507.     TeleKawaru, the people in #zsnes efnet, and the regulars of the
  508.     ZSNES message board!
  509.   And also to all those whom we forgot!
  510.  
  511. Special Thanks to all our beta testers for being a great help!
  512. Info on 256x256x256 scanlines mode is from the MAME source.  Thanks to
  513.    those behind MAME!
  514.  
  515. Also, good luck to all those who are writing emulators, especially those
  516.     who are writing snes emulators, including Snes9x, Nlke, SNEeSe, and
  517.     SNEMul!  And also good luck to the makers of TheSE!
  518.